const express = require('express')
const fs = require('fs')
const app = express()
app.use((req, res, next) => {
  // 允许的域，* 表示允许任何域
  res.header('Access-Control-Allow-Origin', 'http://127.0.0.1:5500');
  // 允许的方法
  res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
  // 允许的头信息字段
  res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, withCredentials');
  res.header('Access-Control-Allow-Credentials', true)
  res.cookie('username', 'zzy', {
    expires: new Date(Date.now() + 100000),
    sameSite: 'lax'
  })
  if(req.method === 'OPTIONS') {
    res.header('Access-Control-Max-Age', 100000)
  }
  next()
})
app.get('/req1', (req, res) => {
  setTimeout(() => {
    res.send('req1的消息收到了')
  }, 3000)
})
app.get('/req2', (req, res) => {
  setTimeout(() => {
    res.send('req2的消息收到了')
  }, 1000)
})
app.get('/', (req, res) => {
  fs.readFile('./index.html', 'utf-8', (err, data) => {
    if (!err) {
      res.send(data)
    }
  })
})
app.listen(3000, (err) => {
  if (!err) {
    console.log('服务器启动成功');
  }
})
// http1.1先后发出两个请求，第二个请求不需要等待第一个请求返回
// 原因可能是http1.1对同一个域名的连接数可以到6